package com.ruoyi.factory.buyprice.mapper;

import com.ruoyi.factory.buyprice.domain.BumawhChaBody;
import com.ruoyi.factory.buyprice.domain.BumawhErpmaBody;
import com.ruoyi.factory.buyprice.domain.BumawhHead;
import com.ruoyi.factory.buyprice.domain.BumawhRawBody;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 采购行情wh头Mapper接口
 * 
 * @author ljj
 * @date 2024-06-11
 */
public interface BumawhHeadMapper 
{
    /**
     * 查询采购行情wh头
     * 
     * @param id 采购行情wh头主键
     * @return 采购行情wh头
     */
    public BumawhHead selectBumawhHeadById(Long id);

    public BumawhHead selectBumawhHeadById2(String id);

    public BumawhHead selectBumaHeadByCode(String code);

    //对照表根据id查询
    public BumawhHead selectBumaHeadById2(String id);
    //对照表根据code查询
    public BumawhHead selectBumaHeadById3(String id);

    public List<BumawhErpmaBody> selectBumawhErpmaBodyList(BumawhErpmaBody param);


    public List<BumawhChaBody> selectBumawhChaBodyList(BumawhChaBody param);

    public int updateBumawhChaBody(BumawhChaBody param);

    /**
     * 查询采购行情wh头列表
     * 
     * @param bumawhHead 采购行情wh头
     * @return 采购行情wh头集合
     */
    public List<BumawhHead> selectBumawhHeadList(BumawhHead bumawhHead);

    /**
     * 新增采购行情wh头
     * 
     * @param bumawhHead 采购行情wh头
     * @return 结果
     */
    public int insertBumawhHead(BumawhHead bumawhHead);

    /**
     * 修改采购行情wh头
     * 
     * @param bumawhHead 采购行情wh头
     * @return 结果
     */
    public int updateBumawhHead(BumawhHead bumawhHead);

    /**
     * 删除采购行情wh头
     * 
     * @param id 采购行情wh头主键
     * @return 结果
     */
    public int deleteBumawhHeadById(Long id);

    /**
     * 批量删除采购行情wh头
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBumawhHeadByIds(Long[] ids);

    /**
     * 批量删除采购行情wh上游物料
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBumawhRawBodyByBumaHeadIds(Long[] ids);
    
    /**
     * 批量新增采购行情wh上游物料
     * 
     * @param bumawhRawBodyList 采购行情wh上游物料列表
     * @return 结果
     */
    public int batchBumawhRawBody(List<BumawhRawBody> bumawhRawBodyList);
    

    /**
     * 通过采购行情wh头主键删除采购行情wh上游物料信息
     * 
     * @param id 采购行情wh头ID
     * @return 结果
     */
    public int deleteBumawhRawBodyByBumaHeadId(Long id);

    /**
     * @author: Liujiaji
     * @date: 2024/6/17 15:39
     * @description: TODO 根据物料大类名称获取erp物料
     * @param: [bomname]
     * @return: java.util.List<com.ruoyi.factory.buyprice.domain.BumawhHead>
     **/
    public List<BumawhHead> selectBumawhHeadByName(String bomname);

    public List<BumawhHead> selectBumaHeadBomName();

    public List<BumawhRawBody> selectBumaRawBody();

    public List<BumawhChaBody> selectBumaChaBody();

    public List<BumawhErpmaBody> selectBumaErpmaBody();

    public BumawhRawBody selectAveRawPrice(Map<String, String> pmap);

    public BumawhChaBody selectAveChaPrice(Map<String, String> pmap);
    public BumawhChaBody selectAveChaPrice2(Map<String, String> pmap);
}
